X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/docs/source/History.html%20%28Case%20Conflict%201%29 diff --git a/docs/source/History.html (Case Conflict 1) b/docs/source/History.html (Case Conflict 1) new file mode 100644 index 00000000..a59fdc02 --- /dev/null +++ b/docs/source/History.html (Case Conflict 1) @@ -0,0 +1,94 @@ + +
++Ext.onReady(function() { + + // The only requirement for this to work is that you must have a hidden field and + // an iframe available in the page with ids corresponding to Ext.History.fieldId + // and Ext.History.iframeId. See history.html for an example. + Ext.History.init(); + + // Needed if you want to handle history for multiple components in the same page. + // Should be something that won't be in component ids. + var tokenDelimiter = ':'; + + var tp = new Ext.TabPanel({ + renderTo: Ext.getBody(), + id: 'main-tabs', + height: 300, + width: 600, + activeTab: 0, + + items: [{ + xtype: 'tabpanel', + title: 'Tab 1', + id: 'tab1', + activeTab: 0, + tabPosition: 'bottom', + + items: [{ + title: 'Sub-tab 1', + id: 'subtab1' + },{ + title: 'Sub-tab 2', + id: 'subtab2' + },{ + title: 'Sub-tab 3', + id: 'subtab3' + }], + + listeners: { + 'tabchange': function(tabPanel, tab){ + Ext.History.add(tabPanel.id + tokenDelimiter + tab.id); + } + } + },{ + title: 'Tab 2', + id: 'tab2' + },{ + title: 'Tab 3', + id: 'tab3' + },{ + title: 'Tab 4', + id: 'tab4' + },{ + title: 'Tab 5', + id: 'tab5' + }], + + listeners: { + 'tabchange': function(tabPanel, tab){ + // Ignore tab1 since it is a separate tab panel and we're managing history for it also. + // We'll use its handler instead in that case so we don't get duplicate nav events for sub tabs. + if(tab.id != 'tab1'){ + Ext.History.add(tabPanel.id + tokenDelimiter + tab.id); + } + } + } + }); + + // Handle this change event in order to restore the UI to the appropriate history state + Ext.History.on('change', function(token){ + if(token){ + var parts = token.split(tokenDelimiter); + var tabPanel = Ext.getCmp(parts[0]); + var tabId = parts[1]; + + tabPanel.show(); + tabPanel.setActiveTab(tabId); + }else{ + // This is the initial default state. Necessary if you navigate starting from the + // page without any existing history token params and go back to the start state. + tp.setActiveTab(0); + tp.getItem(0).setActiveTab(0); + } + }); + +});+ + \ No newline at end of file